﻿import os
import sys
from time import strftime
from datetime import datetime
import basic


__dir__ = os.path.dirname(os.path.abspath(__file__))
path_error = os.path.join(__dir__, "update.log")
sys.stderr = open(path_error, 'a')

sys.stderr.write(
'''

--------------------------***-----------------------------
Update has begun...
Local Date and Time: '''+strftime("%Y-%m-%d %H:%M:%S")+'''
--------------------------***-----------------------------

''')

#Если в командной строке задан параметр, 
if len(sys.argv)==2:
	#то он используется в качестве аргумента функции update для каждой таблицы
	cache=(int(sys.argv[1]))
else:
	#функции update вызывается c параметром cache=500.000
	cache=500000

#TODO Написать запросы к базе после update, 
#чтобы выводить число загруженных записей,
#а сейчас выводится только число выгруженных, 
#его в ручную можно сравнить с числом заргуженных.


# sc133

#В лог записывается сообщение о начале обновления таблицы sc133
sys.stderr.write('''\n******* sc133 *******\n\nStart loading...\nErrors...\n\n''')

#Выполняется обновление таблицы sc133
sc133=basic.sc133.update(cache)

#В лог записывается результат
sys.stderr.write("\n"+str(datetime.now())+"  INFO : Finished load records: "+str(sc133)+"\n"+str(datetime.now())+"  INFO : Finished execution of job sc133 with status: Completed successfully.\n\n\n")

# sc11305

#В лог записывается сообщение о начале обновления таблицы 
sys.stderr.write('''\n******* sc1305 *******\n\nStart loading...\nErrors...\n\n''')

#Выполняется обновление таблицы sc11305
sc11305=basic.sc11305.update(cache)

#В лог записывается результат
sys.stderr.write("\n"+str(datetime.now())+"  INFO : Finished load records: "+str(sc11305)+"\n"+str(datetime.now())+"  INFO : Finished execution of job sc1305 with status: Completed successfully.\n\n\n")

# partner

#В лог записывается сообщение о начале обновления таблицы 
sys.stderr.write('''\n******* partner *******\n\nStart loading...\nErrors...\n\n''')

#Выполняется обновление таблицы partner
partner=basic.partner.update(cache)

#В лог записывается результат
sys.stderr.write("\n"+str(datetime.now())+"  INFO : Finished load records: "+str(partner)+"\n"+str(datetime.now())+"  INFO : Finished execution of job partner with status: Completed successfully.\n\n\n")

# 1sblob

#В лог записывается сообщение о начале обновления таблицы 
sys.stderr.write('''\n******* 1sblob *******\n\nStart loading...\nErrors...\n\n''')

#Выполняется обновление таблицы 1sblob
_1sblob=basic._1sblob.update(cache)

#В лог записывается результат
sys.stderr.write("\n"+str(datetime.now())+"  INFO : Finished load records: "+str(_1sblob)+"\n"+str(datetime.now())+"  INFO : Finished execution of job _1sblob with status: Completed successfully.\n\n\n")




sys.stderr.write('''
No errors logged.


--------------------------***-----------------------------
Update has finished...
Local Date and Time: '''+strftime("%Y-%m-%d %H:%M:%S")+'''
--------------------------***-----------------------------

''')

sys.stderr.write(
'''


''')

sys.stderr.close()
sys.stderr = sys.__stderr__